<?php
/**
 * Created by 张彪.
 * User: 小马出行
 * Date: 2018/1/20
 * Time: 13:16
 */
namespace app\admin\logic;

use app\admin\inter_model\AllotLogModel;
use app\admin\inter_model\DriverLoginLogModel as InterDLL;
use app\admin\model\AdminLogModel;
use app\admin\model\DriverLoginLogModel;
use app\admin\model\OrderLogModel;
use app\admin\model\PayLogModel;
use app\admin\model\UserLoginLogModel;
use app\admin\model\UserRechargeModel;
use think\Model;

class LogLogic extends Model
{
    /**
     * 获取日志信息
     * @param $map
     * @param $field
     * @param $flag //true返回二维数组，false返回一维数组
     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getAdminLogInfo($map=array(),$field='*',$flag=true,$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $coach = new AdminLogModel();
        return $coach->getLogInfo($map,$field,$flag,'log_id desc',$page,$limit);
    }

    /**
     * 添加日志信息
     * @param $data
     * @return string|false
     * */
    public function createAdminLog($data=array())
    {
        if(empty($data)||!is_array($data)){
            return false;
        }
        $coach = new AdminLogModel();
        return $coach->addLog($data);
    }

    /**
     * 获取用户登录日志信息
     * @param $map
     * @param $field
     * @param $flag //true返回二维数组，false返回一维数组
     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getUserLoginLog($map=array(),$field='llu.*',$flag=true,$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $logic = new UserLoginLogModel();
        return $logic->getLoginLog($map,$field,$flag,$page,$limit);
    }

    /**
     * 获取用户账户变动流水
     * @param $map
     * @param $field
     * @param $flag //true返回二维数组，false返回一维数组
     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getUserRechargeLog($map=array(),$field='*',$flag=true,$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $logic = new UserRechargeModel();
        return $logic->getRechargeLog($map,$field,$flag,$page,$limit);
    }

    /**
     * 获取城际司机登录日志信息
     * @param $map
     * @param $field
     * @param $flag //true返回二维数组，false返回一维数组
     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getInterDriverLoginLog($map=array(),$field='lld.*',$flag=true,$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $logic = new InterDLL();
        return $logic->getLoginLog($map,$field,$flag,$page,$limit);
    }

    /**
     * 获取城内司机登录日志信息
     * @param $map
     * @param $field
     * @param $flag //true返回二维数组，false返回一维数组
     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getInnerDriverLoginLog($map=array(),$field='lld.*',$flag=true,$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $logic = new DriverLoginLogModel();
        return $logic->getLoginLog($map,$field,$flag,$page,$limit);
    }

    /**
     * 获取城际下单日志信息
     * @param $map
     * @param $field
     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getInterOrderLog($map=array(),$field='a.*',$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $map = array_merge(array('a.order_type'=>3),$map);
        $logic = new OrderLogModel();
        //true返回城内，false返回城际
        return $logic->getLogInfo($map,$field,false,$page,$limit);
    }

    /**
     * 获取城内下单日志信息
     * @param $map
     * @param $field
     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getInnerOrderLog($map=array(),$field='a.*',$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $map = array_merge(array('a.order_type'=>array('in',array(1,2))),$map);
        $logic = new OrderLogModel();
        //true返回城内，false返回城际
        return $logic->getLogInfo($map,$field,true,$page,$limit);
    }

    /**
     * 根据id获取城际下单日志信息
     * @param $id
     * @param $field
     * @return array|false
     * */
    public function getInterOrderLogById($id,$field='*')
    {
        $map['log_id'] = $id;
        $logic = new OrderLogModel();
        return $logic->searchLogInfo($map,$field,false);
    }

    /**
     * 根据id获取城内下单日志信息
     * @param $id
     * @param $field
     * @return array|false
     * */
    public function getInnerOrderLogById($id,$field='*')
    {
        $map['log_id'] = $id;
        $logic = new OrderLogModel();
        return $logic->searchLogInfo($map,$field,true);
    }

    /**
     * 获取城际订单支付日志信息
     * @param $map
     * @param $field

     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getInterPayLog($map=array(),$field='a.*',$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $map = array_merge(array('a.order_type'=>3),$map);
        //true返回城内，false返回城际
        $logic = new PayLogModel();
        return $logic->getLogInfo($map,$field,false,$page,$limit);
    }

    /**
     * 获取城内订单支付日志信息
     * @param $map
     * @param $field

     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getInnerPayLog($map=array(),$field='a.*',$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $map = array_merge(array('a.order_type'=>array('in',array(1,2))),$map);
        //true返回城内，false返回城际
        $logic = new PayLogModel();
        return $logic->getLogInfo($map,$field,true,$page,$limit);
    }

    /**
     * 根据id获取城际订单支付日志信息
     * @param $id
     * @param $field
     * @return array|false
     * */
    public function getInterPayLogById($id,$field='*')
    {
        $map['log_id'] = $id;
        $logic = new PayLogModel();
        return $logic->searchLogInfo($map,$field,false);
    }

    /**
     * 根据id获取城内订单支付日志信息
     * @param $id
     * @param $field
     * @return array|false
     * */
    public function getInnerPayLogById($id,$field='*')
    {
        $map['log_id'] = $id;
        $logic = new PayLogModel();
        return $logic->searchLogInfo($map,$field,true);
    }

    /**
     * 获取城际派单操作日志信息
     * @param $map
     * @param $field
     * @param $flag //true返回二维数组，false返回一维数组
     * @param $limit
     * @param $page
     * @return array|false
     * */
    public function getInterAllotLog($map=array(),$field='a.*',$flag=true,$page=1,$limit=10)
    {
        if(!is_array($map)){
            return false;
        }
        $logic = new AllotLogModel();
        return $logic->getAllotLog($map,$field,$flag,$page,$limit);
    }

    /**
     * 获取城际派单操作日志信息
     * @param $map
     * @return mixed
     * */
    public function allotLogCount($map)
    {
        if(!is_array($map)){
            return false;
        }
        $logic = new AllotLogModel();
        return $logic->allotLogCount($map);
    }

    /**
     * 根据id获取城际派单操作日志信息
     * @param $id
     * @param $field
     * @return array|false
     * */
    public function getInnerAllotLogById($id,$field='*')
    {
        $map['log_id'] = $id;
        $logic = new AllotLogModel();
        return $logic->getAllotLog($map,$field,false);
    }

}